/*
 * © 2024 huayunliufeng保留所有权利, 依据MIT许可证发布。
 * 请勿更改或删除版权声明或此文件头。
 * 此代码是免费软件, 您可以重新分发和/或修改它。
 * 开源是希望它有用, 但不对代码做任何保证。
 * 如有疑问请联系: huayunliufeng@163.com
 */

package priv.zq.zliao.sjo.utils;

import io.github.huayunliufeng.common.utils.HylfFunUtil;
import lombok.extern.slf4j.Slf4j;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * 读取模板文件。
 *
 * @author zhongq
 * @datetime 2024/4/2 10:07
 */
@Slf4j
public class ReadTemplateUtil {
    public static String readTemplate(String path) {
        InputStream is = ReadTemplateUtil.class.getClassLoader().getResourceAsStream(path);
        if (is == null) {
            log.error("指定路径的文件未找到。");
            System.exit(1);
        }
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        String templateStr = HylfFunUtil.methodVoidReturnExec(() -> {
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                sb.append(line).append(System.lineSeparator());
            }
            return sb.toString();
        });
        HylfFunUtil.autoClose(br);
        HylfFunUtil.autoClose(is);
        return templateStr;
    }
}
